1. Field of the Invention
The present invention relates generally to distributed routers and processes and, more particularly, to distributed architecture routers and routing processes with a ping-pong preventing function that is capable of preventing the unnecessary repetition of transmission of a packet through an erroneous path between forwarding processors.
2. Description of the Related Art
In general, a router includes four components: an input port, an output port, switching fabric and a routing processor.
The input port is a point of contact with a physical link, and a pathway for receiving packets. The output port accumulates and schedules packets to transmit the packets to an output link. The switching fabric internally connects the input and output ports to each other. The routing processor executes a routing protocol, and creates a forwarding table that is used for packet forwarding.
When processing performance does not catch up with the input speed at which packets are being received by a router when a routing function is implemented by software that is executed in a processing environment, a bottleneck phenomenon occurs. Furthermore, when in the routing process, a packet forwarding operation adds a header to an input packet and then the input packet with the added header is again transmitted, the speed of traffic is adversely affected.
Currently, as the volume of Internet traffic increases exponentially, a distributed router constructed with a distributed architecture has been proposed in an effort to accommodate the increase in Internet traffic.
Additionally, in order to speed up a routing function, a high-speed forwarding engine technique is being developed in which the packet forwarding operation will be separately handled.
Accordingly, in terms of system architecture, there is a growing tendency to prefer a distributed architecture with forwarding engines that are positioned in respective line connection units of a server-type architecture in which a single forwarding engine is shared by a plurality of line connection units.
A distributed router serves to forward packets of information and data; in essence, a distributed router performs a routing function and a packet forwarding function in different line connection units. A main processor constructs and updates its own routing table, and transmits updated routing information to a forwarding engine through InterProcessor Communication (IPC) within a system. The forwarding engine constructs and updates its own forwarding table using the changed routing information received.
Generally, propagation delays occur during the interval between the updating of the routing table in the main processor and the updating of the forwarding table in the forwarding engine. Accordingly, user packets entering during the propagation delay are transmitted along an erroneous routing path, that is, an out-of-date path that has been provided for transmission of the packets on the basis of out-of-date routing information stored in a forwarding table.
When the updated routing information has not reached all of the line connection units prior to the initiation of transmission of a packet, one line connection unit will, in reliance upon out-of-date forwarding information stored in its forwarding table, invariably repeat the transmission and reception of the packet to and from another line connection unit. This phenomenon is referred to as “ping-pong”. If “ping-pong” occurs in a distributed router, a loop is inevitably formed within the distributed router; this causes a considerable reduction in the bandwidth of an IPC.